1. Field of the Invention
The present invention relates to high density memory devices based on programmable resistive or other memory material, like phase change based memory materials, and to methods for programming such devices.
2. Description of Related Art
Chalcogenide materials are widely used in read-write optical disks. These materials have at least two solid phases including a generally amorphous phase and a generally crystalline phase. Laser pulses are used in read-write optical disks to switch between phases and to read the optical properties of the material after the phase change.
Chalcogenide materials also can be caused to change phase by application of electrical current. This property has generated interest in using programmable resistive material to form nonvolatile memory circuits.
In phase change memory, data is stored by causing transitions in an active region of the phase change material between amorphous and crystalline states using current. Current heats the material and causes transitions between the states, and is generally a lower current operation. The change from crystalline to amorphous, referred to as reset herein, is generally a higher current operation.
It has long been recognized that multiple resistive levels can be achieved according to the level of crystallization within a phase change material. See, for example, Ovshinsky, “Method and Apparatus for Storing and Retrieving Information,” U.S. Pat. No. 3,530,441, issued Sep. 20 2, 1970; and Flynn, “Phase Change Data Storage Device for Multi-Level Recording,” U.S. Pat. No. 6,899,938, issued May 31, 2005. However, the conventional methods for achieving multi-level programming with phase change memory devices have not been completely successful because the distribution of the resistance values associated with each data value are larger across an array of memory cells than is desirable. That is, the resistance level corresponding to a given data value stored in a memory cell using conventional techniques varies from memory cell to memory cell in an array more than is desirable.
Accordingly, it is desirable to provide a multi-level programming method having a reduced distribution of resistance values associated with each data value.